﻿
using System.Collections.Specialized;
namespace MyFramework.Common.Interfaces
{
    /// <summary>
    /// Interface view collection
    /// </summary>
    public interface IViewCollection
    {
        /// <summary>
        /// Gets or sets the main view.
        /// </summary>
        /// <value>
        /// The main view.
        /// </value>
        IView MainView { get; }

        /// <summary>
        /// Occurs when [collection changed].
        /// </summary>
        event NotifyCollectionChangedEventHandler CollectionChanged;

        /// <summary>
        /// Gets the count.
        /// </summary>
        /// <value>
        /// The count.
        /// </value>
        int Count { get; }

        /// <summary>
        /// Clears this instance.
        /// </summary>
        void Clear();

        /// <summary>
        /// Adds the main view.
        /// </summary>
        /// <param name="view">The view.</param>
        void AddMainView(IView view);

    }
}
